import useAppStore from "@/store/app"
// 只要是未登录状态，想要跳转到名单内的路径时，直接跳到登录页

// 页面白名单，不受拦截
const whiteList = [
	'/pages/login/login'
]

function hasPermission(path : string) {
	const appStore = useAppStore()
	const islogin = appStore.access_token ? true : false;// 在这可以使用token、vuex
	// 在白名单中或有登录判断条件可以直接跳转
	if (whiteList.indexOf(path) !== -1 || islogin) {
		return true
	}
	return false
}

uni.addInterceptor('navigateTo', {
	// 页面跳转前进行拦截, invoke根据返回值进行判断是否继续执行跳转
	invoke(e) {
		if (!hasPermission(e.url)) {
			uni.navigateTo({ url: '/pages/login/login' })
			return false
		}
		return true
	},
	success() {
	}
})

uni.addInterceptor('switchTab', {
	// tabbar页面跳转前进行拦截
	invoke(e) {
		if (!hasPermission(e.url)) {
			uni.navigateTo({
				url: '/pages/login/login'
			})
			return false
		}
		return true
	},
	success() {
	}
})